The disclosed subject matter relates to a system and method for specifying reversibility categories and characteristics to a computer application function. In particular, the disclosed subject matter relates to a computerized testing tool for implementing a testing regimen that more efficiently utilizes testing resources and provides more realistic test scenarios for computer application function testing.
Computer applications are frequently updated with the upgraded features provided for customer installation in update packages, such as enhancement packages and support packages. Commonly, computer application enhancement packages that have been thoroughly tested by a software computer application developer are further tested by customer software developers or information technology teams to insure satisfactory implementation and operation on customer computer systems. This testing may take many forms depending upon the sophistication of the user. For users that are very sophisticated and that may have massive computer systems and a large number of users of a computer application, effective testing of any enhancement packages may take a number of days, and if the enhancement package is substantial, may require rigorous testing at the customer site. The enhancement package testing may include testing the software of the enhancement package on development platforms, dedicated test platforms and/or on a maintenance platform. Each of the different platforms have a different level of complexity that may require different actions prior to performing and during the testing of the computer application functions that are being enhanced by the enhancement package.
For example, FIG. 1 illustrates a graphical representation of the operation of a tool for facilitating use of the implementation guide for selection of a computer application function. New functionality must be explicitly “switched on” to become active/visible in the system. A “computer application function” is the unit within an enhancement package which can be activated/switched on. Activating a computer application function triggers switches, which then “influence” the execution of the computer code enhancements. These switches ensure that customers can only see and make use of the new functionality that has been activated. In FIG. 1, a tool 100 presents, in a graphical user interface, a list of computer application functions 110 included in the enhancement package. The user may select a function to be implemented by selecting the function in a graphical user interface by, for example, selecting a check box with an input device (e.g., mouse or keyboard (not shown)) that sets an indication (e.g., inserts a checkmark) when selected by the user. As the selections are made, the graphical user interface will cause switches 1, 3 and 5 in a switch framework 120 to be activated. The selected functions may represent nodes, e.g., specific computer application function XYZ, or enterprise computer application function ABC, and/or specific subnodes, e.g., management or recruiting. Note that more than one node, and more than one subnode, may be selected. The activated switches 1, 3 and 5 may allow for implementation of the associated computer objects 150, 152, 154, 156, 158 and 160 in the list of computer objects 130 for providing the selected functions.
The selected computer application functions, such as recruiting 113, may include a number of enhancements that have been added and/or are previous features that have been changed. As shown, in recruiting 113, the enhancements may include a coding enhancement 113A, DDIC enhancements, switched UI elements, switched business configuration sets, switched menu entries, switched implementation guide nodes, and business function activation exit implementation 113C. Some of these enhancements, such as coding enhancement 113A, may be reversible meaning that after installation these enhancements may be removed or switched off. Meanwhile, enhancements switch business configuration sets 113B and computer application function activation exit implementation 113C are not reversible. The problem arises in that each of the enhancements 113A, 113B and 113C shown within the business function 113 are not separately switchable, so reversible individual enhancements 113A and 113B cannot be reversed and the remaining enhancements remain activated. If one enhancement is not reversible, such as 113C, then the entire computer application function 113 is not reversible. Accordingly, the number of computer application functions in all of the computer application functions shown selected in FIG. 1 few are actually reversible. In order to evaluate a computer application function that is not reversible, a separate test system is required.
Accordingly, most users use test systems to test the enhancement package prior to implementation of the enhanced computer application function in the production system. This is because the status of a computer application function may be set globally in a customer system so that this status is the same in every client in the system. Continuing tests in the main test clients would mean that these tests are done in the environment of the activated computer application functions. The tests in the main test client could therefore produce data which are no longer valid when this reversible computer application function is deactivated and as a result the whole main test client may become useless. Additionally, the original environment might be influenced by the activated computer application function in a way that the results of the tests are no longer meaningful.
The inventors have recognized the benefits of a system of evaluating the enhancements within a computer application function to allow those that are not reversible to be effectively tested without a separate specific or special test, set up, or in non-production systems.